/**
 * Copyright(c) 2013 Jade Techonologies Co., Ltd.
 *
 * History:
 *   13-4-14 下午10:55 Created by dwzhang
 */
package com.jade.framework.base.security.license;

/**
 * License工具类。
 *
 * @author dwzhang
 * @version 1.0 13-4-14 下午10:55
 */
public class LicenseUtils
{
    //todo private static final License license = new SignedLicense();
    private static final License license = null;

    /**
     * 返回License接口
     *
     * @return License
     */
    public static License getLicense()
    {
        return license;
    }

    /**
     * 根据模块名称获取模块。
     *
     * @param name 模块名称
     * @return 如果不存在返回<code>null</code>
     */
    public static Module getModule(String name)
    {
        Product product = license.getProduct();
        return product.getModule(name);
    }

    /** License中是否包括指定的功能模块。 */
    public static boolean containsModule(String name)
    {
        return getModule(name) != null;
    }

    /** 获取模块中定义的属性 */
    public static ModuleProperty getModuleProperty(String moduleName, String propertyName)
    {
        Product product = getLicense().getProduct();
        Module module = product.getModule(moduleName);
        if (module == null) {
            return null;
        }
        else {
            return module.getProperty(propertyName);
        }
    }

    /** 获取产品或者模块中的参数 */
    public static Object getModuleParameter(String moduleName, String paramName)
    {
        Module module = getModule(moduleName);
        if (module != null) {
            return module.getObject(paramName);
        }
        else {
            return null;
        }
    }
}
